package com.suyuan.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class VaccoutstroeExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public VaccoutstroeExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andOutstoreidIsNull() {
            addCriterion("OutStoreId is null");
            return (Criteria) this;
        }

        public Criteria andOutstoreidIsNotNull() {
            addCriterion("OutStoreId is not null");
            return (Criteria) this;
        }

        public Criteria andOutstoreidEqualTo(Integer value) {
            addCriterion("OutStoreId =", value, "outstoreid");
            return (Criteria) this;
        }

        public Criteria andOutstoreidNotEqualTo(Integer value) {
            addCriterion("OutStoreId <>", value, "outstoreid");
            return (Criteria) this;
        }

        public Criteria andOutstoreidGreaterThan(Integer value) {
            addCriterion("OutStoreId >", value, "outstoreid");
            return (Criteria) this;
        }

        public Criteria andOutstoreidGreaterThanOrEqualTo(Integer value) {
            addCriterion("OutStoreId >=", value, "outstoreid");
            return (Criteria) this;
        }

        public Criteria andOutstoreidLessThan(Integer value) {
            addCriterion("OutStoreId <", value, "outstoreid");
            return (Criteria) this;
        }

        public Criteria andOutstoreidLessThanOrEqualTo(Integer value) {
            addCriterion("OutStoreId <=", value, "outstoreid");
            return (Criteria) this;
        }

        public Criteria andOutstoreidIn(List<Integer> values) {
            addCriterion("OutStoreId in", values, "outstoreid");
            return (Criteria) this;
        }

        public Criteria andOutstoreidNotIn(List<Integer> values) {
            addCriterion("OutStoreId not in", values, "outstoreid");
            return (Criteria) this;
        }

        public Criteria andOutstoreidBetween(Integer value1, Integer value2) {
            addCriterion("OutStoreId between", value1, value2, "outstoreid");
            return (Criteria) this;
        }

        public Criteria andOutstoreidNotBetween(Integer value1, Integer value2) {
            addCriterion("OutStoreId not between", value1, value2, "outstoreid");
            return (Criteria) this;
        }

        public Criteria andVaccineidIsNull() {
            addCriterion("VaccineID is null");
            return (Criteria) this;
        }

        public Criteria andVaccineidIsNotNull() {
            addCriterion("VaccineID is not null");
            return (Criteria) this;
        }

        public Criteria andVaccineidEqualTo(Integer value) {
            addCriterion("VaccineID =", value, "vaccineid");
            return (Criteria) this;
        }

        public Criteria andVaccineidNotEqualTo(Integer value) {
            addCriterion("VaccineID <>", value, "vaccineid");
            return (Criteria) this;
        }

        public Criteria andVaccineidGreaterThan(Integer value) {
            addCriterion("VaccineID >", value, "vaccineid");
            return (Criteria) this;
        }

        public Criteria andVaccineidGreaterThanOrEqualTo(Integer value) {
            addCriterion("VaccineID >=", value, "vaccineid");
            return (Criteria) this;
        }

        public Criteria andVaccineidLessThan(Integer value) {
            addCriterion("VaccineID <", value, "vaccineid");
            return (Criteria) this;
        }

        public Criteria andVaccineidLessThanOrEqualTo(Integer value) {
            addCriterion("VaccineID <=", value, "vaccineid");
            return (Criteria) this;
        }

        public Criteria andVaccineidIn(List<Integer> values) {
            addCriterion("VaccineID in", values, "vaccineid");
            return (Criteria) this;
        }

        public Criteria andVaccineidNotIn(List<Integer> values) {
            addCriterion("VaccineID not in", values, "vaccineid");
            return (Criteria) this;
        }

        public Criteria andVaccineidBetween(Integer value1, Integer value2) {
            addCriterion("VaccineID between", value1, value2, "vaccineid");
            return (Criteria) this;
        }

        public Criteria andVaccineidNotBetween(Integer value1, Integer value2) {
            addCriterion("VaccineID not between", value1, value2, "vaccineid");
            return (Criteria) this;
        }

        public Criteria andMedbatchnoIsNull() {
            addCriterion("MedBatchNo is null");
            return (Criteria) this;
        }

        public Criteria andMedbatchnoIsNotNull() {
            addCriterion("MedBatchNo is not null");
            return (Criteria) this;
        }

        public Criteria andMedbatchnoEqualTo(String value) {
            addCriterion("MedBatchNo =", value, "medbatchno");
            return (Criteria) this;
        }

        public Criteria andMedbatchnoNotEqualTo(String value) {
            addCriterion("MedBatchNo <>", value, "medbatchno");
            return (Criteria) this;
        }

        public Criteria andMedbatchnoGreaterThan(String value) {
            addCriterion("MedBatchNo >", value, "medbatchno");
            return (Criteria) this;
        }

        public Criteria andMedbatchnoGreaterThanOrEqualTo(String value) {
            addCriterion("MedBatchNo >=", value, "medbatchno");
            return (Criteria) this;
        }

        public Criteria andMedbatchnoLessThan(String value) {
            addCriterion("MedBatchNo <", value, "medbatchno");
            return (Criteria) this;
        }

        public Criteria andMedbatchnoLessThanOrEqualTo(String value) {
            addCriterion("MedBatchNo <=", value, "medbatchno");
            return (Criteria) this;
        }

        public Criteria andMedbatchnoLike(String value) {
            addCriterion("MedBatchNo like", value, "medbatchno");
            return (Criteria) this;
        }

        public Criteria andMedbatchnoNotLike(String value) {
            addCriterion("MedBatchNo not like", value, "medbatchno");
            return (Criteria) this;
        }

        public Criteria andMedbatchnoIn(List<String> values) {
            addCriterion("MedBatchNo in", values, "medbatchno");
            return (Criteria) this;
        }

        public Criteria andMedbatchnoNotIn(List<String> values) {
            addCriterion("MedBatchNo not in", values, "medbatchno");
            return (Criteria) this;
        }

        public Criteria andMedbatchnoBetween(String value1, String value2) {
            addCriterion("MedBatchNo between", value1, value2, "medbatchno");
            return (Criteria) this;
        }

        public Criteria andMedbatchnoNotBetween(String value1, String value2) {
            addCriterion("MedBatchNo not between", value1, value2, "medbatchno");
            return (Criteria) this;
        }

        public Criteria andOutdateIsNull() {
            addCriterion("OutDate is null");
            return (Criteria) this;
        }

        public Criteria andOutdateIsNotNull() {
            addCriterion("OutDate is not null");
            return (Criteria) this;
        }

        public Criteria andOutdateEqualTo(Date value) {
            addCriterionForJDBCDate("OutDate =", value, "outdate");
            return (Criteria) this;
        }

        public Criteria andOutdateNotEqualTo(Date value) {
            addCriterionForJDBCDate("OutDate <>", value, "outdate");
            return (Criteria) this;
        }

        public Criteria andOutdateGreaterThan(Date value) {
            addCriterionForJDBCDate("OutDate >", value, "outdate");
            return (Criteria) this;
        }

        public Criteria andOutdateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("OutDate >=", value, "outdate");
            return (Criteria) this;
        }

        public Criteria andOutdateLessThan(Date value) {
            addCriterionForJDBCDate("OutDate <", value, "outdate");
            return (Criteria) this;
        }

        public Criteria andOutdateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("OutDate <=", value, "outdate");
            return (Criteria) this;
        }

        public Criteria andOutdateIn(List<Date> values) {
            addCriterionForJDBCDate("OutDate in", values, "outdate");
            return (Criteria) this;
        }

        public Criteria andOutdateNotIn(List<Date> values) {
            addCriterionForJDBCDate("OutDate not in", values, "outdate");
            return (Criteria) this;
        }

        public Criteria andOutdateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("OutDate between", value1, value2, "outdate");
            return (Criteria) this;
        }

        public Criteria andOutdateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("OutDate not between", value1, value2, "outdate");
            return (Criteria) this;
        }

        public Criteria andUnitIsNull() {
            addCriterion("unit is null");
            return (Criteria) this;
        }

        public Criteria andUnitIsNotNull() {
            addCriterion("unit is not null");
            return (Criteria) this;
        }

        public Criteria andUnitEqualTo(String value) {
            addCriterion("unit =", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotEqualTo(String value) {
            addCriterion("unit <>", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitGreaterThan(String value) {
            addCriterion("unit >", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitGreaterThanOrEqualTo(String value) {
            addCriterion("unit >=", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLessThan(String value) {
            addCriterion("unit <", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLessThanOrEqualTo(String value) {
            addCriterion("unit <=", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLike(String value) {
            addCriterion("unit like", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotLike(String value) {
            addCriterion("unit not like", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitIn(List<String> values) {
            addCriterion("unit in", values, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotIn(List<String> values) {
            addCriterion("unit not in", values, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitBetween(String value1, String value2) {
            addCriterion("unit between", value1, value2, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotBetween(String value1, String value2) {
            addCriterion("unit not between", value1, value2, "unit");
            return (Criteria) this;
        }

        public Criteria andNumoutIsNull() {
            addCriterion("NumOut is null");
            return (Criteria) this;
        }

        public Criteria andNumoutIsNotNull() {
            addCriterion("NumOut is not null");
            return (Criteria) this;
        }

        public Criteria andNumoutEqualTo(Integer value) {
            addCriterion("NumOut =", value, "numout");
            return (Criteria) this;
        }

        public Criteria andNumoutNotEqualTo(Integer value) {
            addCriterion("NumOut <>", value, "numout");
            return (Criteria) this;
        }

        public Criteria andNumoutGreaterThan(Integer value) {
            addCriterion("NumOut >", value, "numout");
            return (Criteria) this;
        }

        public Criteria andNumoutGreaterThanOrEqualTo(Integer value) {
            addCriterion("NumOut >=", value, "numout");
            return (Criteria) this;
        }

        public Criteria andNumoutLessThan(Integer value) {
            addCriterion("NumOut <", value, "numout");
            return (Criteria) this;
        }

        public Criteria andNumoutLessThanOrEqualTo(Integer value) {
            addCriterion("NumOut <=", value, "numout");
            return (Criteria) this;
        }

        public Criteria andNumoutIn(List<Integer> values) {
            addCriterion("NumOut in", values, "numout");
            return (Criteria) this;
        }

        public Criteria andNumoutNotIn(List<Integer> values) {
            addCriterion("NumOut not in", values, "numout");
            return (Criteria) this;
        }

        public Criteria andNumoutBetween(Integer value1, Integer value2) {
            addCriterion("NumOut between", value1, value2, "numout");
            return (Criteria) this;
        }

        public Criteria andNumoutNotBetween(Integer value1, Integer value2) {
            addCriterion("NumOut not between", value1, value2, "numout");
            return (Criteria) this;
        }

        public Criteria andTakepeoplenameIsNull() {
            addCriterion("TakePeopleName is null");
            return (Criteria) this;
        }

        public Criteria andTakepeoplenameIsNotNull() {
            addCriterion("TakePeopleName is not null");
            return (Criteria) this;
        }

        public Criteria andTakepeoplenameEqualTo(String value) {
            addCriterion("TakePeopleName =", value, "takepeoplename");
            return (Criteria) this;
        }

        public Criteria andTakepeoplenameNotEqualTo(String value) {
            addCriterion("TakePeopleName <>", value, "takepeoplename");
            return (Criteria) this;
        }

        public Criteria andTakepeoplenameGreaterThan(String value) {
            addCriterion("TakePeopleName >", value, "takepeoplename");
            return (Criteria) this;
        }

        public Criteria andTakepeoplenameGreaterThanOrEqualTo(String value) {
            addCriterion("TakePeopleName >=", value, "takepeoplename");
            return (Criteria) this;
        }

        public Criteria andTakepeoplenameLessThan(String value) {
            addCriterion("TakePeopleName <", value, "takepeoplename");
            return (Criteria) this;
        }

        public Criteria andTakepeoplenameLessThanOrEqualTo(String value) {
            addCriterion("TakePeopleName <=", value, "takepeoplename");
            return (Criteria) this;
        }

        public Criteria andTakepeoplenameLike(String value) {
            addCriterion("TakePeopleName like", value, "takepeoplename");
            return (Criteria) this;
        }

        public Criteria andTakepeoplenameNotLike(String value) {
            addCriterion("TakePeopleName not like", value, "takepeoplename");
            return (Criteria) this;
        }

        public Criteria andTakepeoplenameIn(List<String> values) {
            addCriterion("TakePeopleName in", values, "takepeoplename");
            return (Criteria) this;
        }

        public Criteria andTakepeoplenameNotIn(List<String> values) {
            addCriterion("TakePeopleName not in", values, "takepeoplename");
            return (Criteria) this;
        }

        public Criteria andTakepeoplenameBetween(String value1, String value2) {
            addCriterion("TakePeopleName between", value1, value2, "takepeoplename");
            return (Criteria) this;
        }

        public Criteria andTakepeoplenameNotBetween(String value1, String value2) {
            addCriterion("TakePeopleName not between", value1, value2, "takepeoplename");
            return (Criteria) this;
        }

        public Criteria andStoremanidIsNull() {
            addCriterion("storemanid is null");
            return (Criteria) this;
        }

        public Criteria andStoremanidIsNotNull() {
            addCriterion("storemanid is not null");
            return (Criteria) this;
        }

        public Criteria andStoremanidEqualTo(Integer value) {
            addCriterion("storemanid =", value, "storemanid");
            return (Criteria) this;
        }

        public Criteria andStoremanidNotEqualTo(Integer value) {
            addCriterion("storemanid <>", value, "storemanid");
            return (Criteria) this;
        }

        public Criteria andStoremanidGreaterThan(Integer value) {
            addCriterion("storemanid >", value, "storemanid");
            return (Criteria) this;
        }

        public Criteria andStoremanidGreaterThanOrEqualTo(Integer value) {
            addCriterion("storemanid >=", value, "storemanid");
            return (Criteria) this;
        }

        public Criteria andStoremanidLessThan(Integer value) {
            addCriterion("storemanid <", value, "storemanid");
            return (Criteria) this;
        }

        public Criteria andStoremanidLessThanOrEqualTo(Integer value) {
            addCriterion("storemanid <=", value, "storemanid");
            return (Criteria) this;
        }

        public Criteria andStoremanidIn(List<Integer> values) {
            addCriterion("storemanid in", values, "storemanid");
            return (Criteria) this;
        }

        public Criteria andStoremanidNotIn(List<Integer> values) {
            addCriterion("storemanid not in", values, "storemanid");
            return (Criteria) this;
        }

        public Criteria andStoremanidBetween(Integer value1, Integer value2) {
            addCriterion("storemanid between", value1, value2, "storemanid");
            return (Criteria) this;
        }

        public Criteria andStoremanidNotBetween(Integer value1, Integer value2) {
            addCriterion("storemanid not between", value1, value2, "storemanid");
            return (Criteria) this;
        }

        public Criteria andAreaidIsNull() {
            addCriterion("areaid is null");
            return (Criteria) this;
        }

        public Criteria andAreaidIsNotNull() {
            addCriterion("areaid is not null");
            return (Criteria) this;
        }

        public Criteria andAreaidEqualTo(Integer value) {
            addCriterion("areaid =", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidNotEqualTo(Integer value) {
            addCriterion("areaid <>", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidGreaterThan(Integer value) {
            addCriterion("areaid >", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidGreaterThanOrEqualTo(Integer value) {
            addCriterion("areaid >=", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidLessThan(Integer value) {
            addCriterion("areaid <", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidLessThanOrEqualTo(Integer value) {
            addCriterion("areaid <=", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidIn(List<Integer> values) {
            addCriterion("areaid in", values, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidNotIn(List<Integer> values) {
            addCriterion("areaid not in", values, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidBetween(Integer value1, Integer value2) {
            addCriterion("areaid between", value1, value2, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidNotBetween(Integer value1, Integer value2) {
            addCriterion("areaid not between", value1, value2, "areaid");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}